package com.bt7274.service;

import com.bt7274.pojo.bo.UpdateActivityProgressBO;
import com.bt7274.pojo.bo.UserCheckInBO;
import com.bt7274.pojo.vo.CheckInCalendarVO;
import com.bt7274.pojo.vo.UserCheckInVO;

import java.util.List;

/**
 * @BelongsProject: bt7274-back
 * @BelongsPackage: com.bt7274.service
 * @Author: Galland
 * @CreateTime: 2025-06-14
 * @Description: 常驻促销活动服务接口
 * @Version: 1.0
 */
public interface PermanentPromotionService {
    // ========== 签到相关 ==========

    /**
     * 用户每日签到
     * @param checkInBO 签到信息
     * @return 签到结果
     */
    UserCheckInVO dailyCheckIn(UserCheckInBO checkInBO);

    /**
     * 获取用户签到信息
     * @param userId 用户ID
     * @return 签到信息
     */
    UserCheckInVO getUserCheckInInfo(String userId);

    /**
     * 获取用户某月的签到日历
     * @param userId 用户ID
     * @param year 年份
     * @param month 月份
     * @return 签到日历
     */
    List<CheckInCalendarVO> getCheckInCalendar(String userId, int year, int month);

    /**
     * 更新用户活动进度
     * @param progressBO 进度更新信息
     */
    void updateActivityProgress(UpdateActivityProgressBO progressBO);


}
